import pandas as pd

"""
数据的过滤和排序：
    这里使用的是2012年世界杯的数据
"""


def data_sort_filter():
    # 1.导入模块
    # 2.导入数据集
    path = '../Pandas_exercises/Euro2012.csv'
    euro = pd.read_csv(path)
    print(euro.head())
    # 3.只选取Goals这一列
    print('只选取Goals这一列:', euro['Goals'])
    # 4.共有多少只球队参与了2012世界杯
    print('共有多少只球队参与了2012世界杯:', euro['Team'].nunique())
    # 5.该数据集共有多少列
    print('该数据共有多少列：', euro.info())
    # 6.将数据集中的Team,yellow card 和 read card单独存在一个叫discipline的数据框
    discipline = euro[['Team', 'Yellow Cards', 'Red Cards']]
    print('新的数据集discipline:', discipline)
    # 7.将discipline中的数据先按read card  在按yellow card 排序
    print('将数据按redcards排序按yellow card 排序：%s' % (
        discipline.sort_values(['Red Cards', 'Yellow Cards'], ascending=False)))
    # 8.计算每个球队拿到的黄牌数的平均值
    print('计算每个球队拿到的黄牌数平均值：', round(discipline['Yellow Cards'].mean()))  # round用于计算平均值
    # 9.找到进球数Goals超过6的球队数据
    print('获取单个表格数据：', euro.Goals)
    print('进球数Goals超过6的球队数据：', euro[euro.Goals > 6])
    # 10.选取以字母G开头的球队数据
    print('选取以字母G开头的球队数据：', euro[euro.Team.str.startswith('G')])
    # 11.选取前7列
    print('选取前7列：', euro.iloc[:, 0:7])
    # 12.选取最后3列之外的全部列
    print('选取最后3列之外的全部列', euro.iloc[:, 0:-3])
    # 13.找到England、italy.Russia的射正率(Shooting Accuracy)
    print('找到England,Italy,Russia的射正率:',
          euro.loc[euro.Team.isin(['England', 'Russia', 'Italy']), ['Team', 'Shooting Accuracy']])


data_sort_filter()
